package net.xdclass.xdclass_shiro.dao;

import net.xdclass.xdclass_shiro.domain.User;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 用户数据库操作
 *
 * @author zhangsj
 * @date 2020/5/2 9:42
 */
public interface UserMapper {

    /**
     * 根据用户名查询用户信息
     *
     * @param username 用户名
     * @return {@link User}
     */
    @Select("select id, username, password, create_time as createTime, salt from xd_user where username = #{username}")
    User findByUsername(@Param("username") String username);

    /**
     * 根据 用户ID 查询用户信息
     *
     * @param id 用户ID
     * @return {@link User}
     */
    @Select("select * from xd_user where id = #{userId}")
    User findById(@Param("userId") long id);

    /**
     * 根据 用户名和密码 查询用户信息
     *
     * @param username 用户名
     * @param password 用户密码
     * @return {@link User}
     */
    @Select("select * from xd_user where username = #{username} and password = #{pwd}")
    User findByUsernameAndPwd(@Param("username") String username,
                              @Param("pwd") String password);
}
